home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 1997 July / Freeware CD.iso / FREEWARE / !utils / sfs / SFS117!.EXE / SFS1.DOC < prev    next >
Encoding:
Text File  |  1995-03-20  |  29.0 KB  |  645 lines

  1.  
  2.                         sSSSSs      FFFFFFFFFF    sSSSSs
  3.                        sSSSSSSs     FFFFFFFFF    sSSSSSSs
  4.                       sSs     sS    FF          sSs     sS
  5.                       SS            FF          SS
  6.                       sSs           FF          sSs
  7.                        sSSSSSSs     FFFFFFF      sSSSSSSs
  8.                              sSs    FF                 sSs
  9.                               SS    FF                  SS
  10.                       Ss      Ss    FF          Ss      Ss
  11.                        sSSSSSSs     FF           sSSSSSSs
  12.                         sSSSSs      FF            sSSSSs
  13.  
  14.  
  15.                        S e c u r e   F i l e S y s t e m
  16.  
  17.                                   Version 1.20
  18.  
  19.                   Copyright Peter C.Gutmann  1993, 1994, 1995
  20.  
  21.  
  22.       "The right to privacy... is the most comprehensive of rights and the
  23.        right most valued by civilized man"
  24.                           - Justice Louis Brandeis, US Supreme Court, 1928
  25.  
  26.  
  27. Ever since Julius Caesar used the cipher which now bears his name to try to
  28. hide his military dispatches from prying eyes, people have been working on
  29. various means to keep their confidential information private.  Over the years,
  30. the art of cryptography (that is, of scrambling information so only those in
  31. possession of the correct password can unscramble it) has progressed from
  32. simple pencil-and-paper systems to more sophisticated schemes involving complex
  33. electromechanical devices and eventually computers.  The means of breaking
  34. these schemes has progressed on a similar level.  Today, with the
  35. ever-increasing amount of information stored on computers, good cryptography is
  36. needed more than ever before.
  37.  
  38. There are two main areas in which privacy protection of data is required:
  39.  
  40.   - Protection of bulk data stored on disk or tape.
  41.   - Protection of messages sent to others.
  42.  
  43. SFS is intended to solve the problem of protecting bulk data stored on disk.
  44. The protection of electronic messages is best solved by software packages such
  45. as PGP (available on sites the world over) or various implementations of PEM
  46. (currently available mainly in the US, although non-US versions are beginning
  47. to appear).
  48.  
  49. SFS has the following features:
  50.  
  51.   - The current implementation runs as a standard DOS device driver, and
  52.     therefore works with both plain MSDOS or DRDOS as well as other
  53.     software such as Windows, QEMM, Share, disk cacheing software, Stacker,
  54.     JAM, and so on.  SFS has been used to encrypt disk volumes ranging from
  55.     360K floppy disks up to 2.1 GB SCSI drives without problems.
  56.  
  57.   - Up to five encrypted volumes can be accessed at any one time, chosen
  58.     from a selection of as many volumes as there is storage for.
  59.  
  60.   - Volumes can be quickly unmounted with a user-defined hotkey,
  61.     automatically unmounted after a certain amount of time, or unmounted
  62.     under control of a smart card.  They can also be converted back to
  63.     unencrypted volumes or have their contents destroyed if required.
  64.  
  65.   - SFS volumes can be controlled using either DOS or Windows software,
  66.     and are fully compatible with Windows 32-bit disk access.  The Windows
  67.     software has internationalization support and is available in English,
  68.     German, and Italian.
  69.  
  70.   - The software contains various stealth features to minimise the
  71.     possibility of other programs monitoring or altering its operation.
  72.  
  73.   - The encryption algorithms used have been selected to be free from any
  74.     patent restrictions, and the software itself is not covered by US
  75.     export restrictions as it was developed entirely outside the US
  76.     (although once a copy is sent into the US it can't be re-exported).
  77.  
  78.   - SFS complies with a number of national and international data
  79.     encryption standards, among them ANSI X3.106, ANSI X9.30 Part 2,
  80.     Federal Information Processing Standard (FIPS) 180, Australian
  81.     Standard 2805.5.2, ISO 10116:1991 and ISO 10126-2:1991, and is on
  82.     nodding terms with several other relevant standards.
  83.  
  84.   - The documentation includes fairly in-depth analyses of various security
  85.     aspects of the software, as well as complete design and programming
  86.     details necessary to both create SFS-compatible software and to verify
  87.     the algorithms used in SFS.
  88.  
  89.   - The encryption system provides reasonable performance.  One tester has
  90.     reported a throughput of 250 K/s for the basic version of SFS, and 260
  91.     K/s for the 486+ version on his 486 system, when copying a file with
  92.     the DOS copy command from one location on an SFS volume to another.
  93.     Throughput on a vanilla 386 system was reported at around 160 K/s.  The
  94.     resident portion requires around 7.5K of memory, and can be loaded high
  95.     if desired.
  96.  
  97.   - Direct access to IDE and SCSI drives is available for better
  98.     performance and for drives which aren't normally accessible to DOS (for
  99.     (for example systems with more than 2 hard drives).  SFS supports SCSI
  100.     host adapters from Adaptec, Advanced Integration Research (AIR), Alpha
  101.     Research, Always Technology, American Megatrends (AMI), BusLogic,
  102.     Distributed Processing Technology, DTC, Future Domain, IBM, LinkSys,
  103.     NEC, Trantor, Ultrastor, and others.
  104.  
  105.   - The software provides an extensive key safeguarding system using a
  106.     threshold scheme to allow emergency access to SFS volumes if the
  107.     original key is forgotten or lost.
  108.  
  109.   - Smart card access control for invidual SFS volumes or groups of
  110.     volumes is possible.
  111.  
  112. Although the use of DOS is described throughout this document, SFS is not
  113. limited to any particular operating environment, and can be used to contain
  114. virtually any type of filesystem.  In the future an SFS driver for OS/2 HPFS
  115. filesystems may be developed, and there have been discussions on creating a
  116. Linux SFS driver for Unix machines.  A 68000 version of SFS is also rumoured to
  117. be under development.
  118.  
  119.  
  120. Overview
  121. --------
  122.  
  123. This document is arranged to provide step-by-step instructions on setting up
  124. the SFS driver, creating an encrypted volume, and using the encrypted volume to
  125. store information securely.  The first three sections cover each of these
  126. steps, with a special quick-start section preceding them giving a rapid
  127. introduction to getting an encrypted disk volume up and running.  The next
  128. sections provide extra details on topics such as password management,
  129. incompatibility problems, other encryption software, and the politics of
  130. cryptography and privacy.  The final sections provide an in-depth security
  131. analysis, technical information on the SFS driver, and data formats for anyone
  132. wanting to write SFS-compatible software or wanting to check the security of
  133. the software for themselves.
  134.  
  135. The document is divided into sections as follows:
  136.  
  137.   Why Use SFS?
  138.       Some reasons why use of security measures like SFS may be necessary
  139.       for your data.
  140.  
  141.   Terminology
  142.       An explanation of some of the technical terms use in this document.
  143.       Experienced users can skip this section.
  144.  
  145.   Quick Start
  146.       A quick overview of the use of SFS which summarizes the next three
  147.       sections for people in a hurry
  148.  
  149.   Loading the SFS Driver
  150.       How to set up the SFS driver needed to handle encrypted volumes.
  151.  
  152.   Creating an SFS Volume
  153.       How to prepare an SFS encrypted volume for use.
  154.  
  155.   Mounting an SFS Volume
  156.       How to mount a previously prepared SFS encrypted volume so the
  157.       operating system can use it.
  158.  
  159.   Unmounting an SFS Volume
  160.       How to unmount and otherwise change the status of one or more SFS
  161.       volumes after they have been mounted.
  162.  
  163.   Advanced SFS Driver Options
  164.       Various advanced options such as how to mount SFS volumes at system
  165.       startup so that they are automatically available when the system is
  166.       booted, and customizing the SFS driver operation and user interface.
  167.  
  168.   Changing the Characteristics of an SFS Volume
  169.       How to change various characteristics of an SFS volume such as the
  170.       password, volume name, disk access method, and auto-unmount timeout,
  171.       and how to delete SFS volumes or convert them back to normal DOS
  172.       volumes.
  173.  
  174.   Sharing SFS Volumes Between Multiple Users
  175.       How to securely share a single encrypted SFS volume between multiple
  176.       users.
  177.  
  178.   Creating Compressed SFS Volumes
  179.       How to create a compressed drive inside a normal SFS volume
  180.  
  181.   Emergency Access to Encrypted Information
  182.       How to use the SFS key safeguarding features to allow emergency
  183.       access to SFS volumes if a key is lost or forgotten.
  184.  
  185.   Controlling SFS Volumes with Smart Cards
  186.       How to control access to SFS volumes using smart cards.
  187.  
  188.   WinSFS - Using SFS with Windows
  189.       An overview of the Windows version of SFS.
  190.  
  191.   Usage Examples
  192.       Examples of how to perform various basic operations using the SFS
  193.       software.
  194.  
  195.   Command Summary
  196.       A summary of the commands available with the various SFS programs.
  197.  
  198.   Troubleshooting
  199.       Comments on unusual hardware and software combinations which may
  200.       create problems for SFS.
  201.  
  202.   Authentication of SFS Software
  203.       How to verify that the SFS distribution you have is indeed the real
  204.       thing.
  205.  
  206.   Applications
  207.       Various applications and uses for SFS.
  208.  
  209.   The Care and Feeding of Passwords
  210.       Details on how to choose and handle a password to protect an SFS
  211.       volume.
  212.  
  213.   Other Software
  214.       An overview of other available security software and the weakness and
  215.       problems present in it.
  216.  
  217.   Data Security
  218.       Various issues in data security which should be taken into
  219.       consideration when using SFS and similar encryption software.
  220.  
  221.   Politics
  222.       A discussion on the politics of cryptography, the right to privacy,
  223.       and some of the reasons why SFS was written.
  224.  
  225.   An Introduction to Encryption Systems
  226.       A brief introduction to encryption systems with an emphasis on the
  227.       methods used in SFS.
  228.  
  229.   Security Analysis
  230.       An analysis of the level of security offered by SFS and some possible
  231.       attacks on it.
  232.  
  233.   Design Details
  234.       Various in-depth design details not covered in the security analysis.
  235.  
  236.   SFS Disk Volume Layout
  237.       Details on the disk layout used by SFS.
  238.  
  239.   SFS Share File Layout
  240.       Details on the share file layout used in the SFS key safeguarding
  241.       system.
  242.  
  243.   SFS Smart Card Data Layout
  244.       Details on the layout of the data stored inside smart cards by SFS.
  245.  
  246.   Interfacing with SFS
  247.       How to control the SFS driver through software.
  248.  
  249.   Interfacing with mountsfs
  250.       How to control the mountsfs program from external software such as
  251.       graphical front-ends.
  252.  
  253.   Selected Source Code
  254.       A walkthrough of selected portions of the source code to allow
  255.       verification and help implementors.
  256.  
  257.   Future Work
  258.       Various enhancements which may be incorporated into future versions
  259.       of SFS.
  260.  
  261.   Recommended Reading
  262.       A short list of recommended reading material for those wishing to
  263.       know more about the design of SFS and encryption in general.
  264.  
  265.   Staying Current with SFS Developments
  266.       Information on using the SFS mailing list and SFS Web page to stay
  267.       up to date with the latest SFS developments.
  268.  
  269.   Using SFS
  270.       Conditions and terms for use of SFS.
  271.  
  272.   Revision Levels
  273.       The changes and improvements made for each release of the SFS
  274.       software.
  275.  
  276.   Credits
  277.  
  278.   Warranty
  279.  
  280.  
  281. Why Use SFS?
  282. ------------
  283.  
  284. Virtually all information stored on computer systems is sensitive to some
  285. degree, and therefore worth protecting.  Exactly how sensitive a piece of data
  286. is is unique to each environment.  In some cases the data may be much more
  287. sensitive to errors or omissions, or to unavailability, or to fraudulent
  288. manipulation, than to the problems SFS is designed to guard against.  SFS helps
  289. guard against data being disclosed to the wrong people or organisations, and
  290. against some types of fraudulent manipulation.  By making the data being
  291. protected accessible only to those with authorized access, SFS helps protect
  292. the confidentiality of the information, and the privacy of the individuals the
  293. information pertains to.  Preventing access by unauthorized users also helps to
  294. protect the integrity of the data[1].
  295.  
  296. One way to determine whether your data is sensitive enough to require the use
  297. of SFS is to consider the following:
  298.  
  299.   What are the consequences of the data being made available to the wrong
  300.   people or organisations?
  301.  
  302.   What are the consequences of the data being manipulated for fraudulent
  303.   purposes?
  304.  
  305. An additional impetus for security comes from the legal requirement of many
  306. countries for individuals and organisations to maintain the confidentiality of
  307. the information they handle, or to control their assets (such as computer data)
  308. properly.  For example, one of the "OECD guidelines governing the protection of
  309. privacy and transborder flows of computer data" states that data should be
  310. protected against "loss or unauthorized access, destruction, use, modification,
  311. or disclosure"[2].  An example of the requirements for the control of assets is
  312. the US Foreign Corrupt Practices Act of 1977.
  313.  
  314. In summary, if the cost of damage or disclosure of your data is more than the
  315. cost of using a security measure such as SFS (where cost is measured not only
  316. in monetary terms but also in terms of damage to business and loss of privacy)
  317. then the data should be regarded as being sensitive and should have adequate
  318. security controls to prevent or lessen the potential loss.
  319.  
  320. Footnote [1]: Although inadvertent modification by authorized users is still
  321.               possible, the risk from deliberate compromise of the data is
  322.               greatly reduced.
  323.  
  324. Footnote [2]: These guidelines are discussed in more detail in "Computer
  325.               Networks", Volume 5, No.2 (April 1981).
  326.  
  327.  
  328. Terminology
  329. -----------
  330.  
  331. Throughout this document a number of specialised terms are used to describe the
  332. operation of the SFS encryption software.  This section provides a brief
  333. explanation of the terms used.  Experienced users can skip this material and go
  334. directly to the "Loading the SFS Driver" section below.
  335.  
  336.   Disk volume:
  337.  
  338.     An individual logical disk drive, volume, partition, or filesystem.  A
  339.     single physical hard disk can (and usually does) contain more than one
  340.     volume on it.  Under DOS, each of these volumes is assigned its own drive
  341.     letter and appears as a separate drive, even though they all reside on the
  342.     same physical hard disk.  Thus a system might have a single 240MB hard disk
  343.     which contains four 60MB volumes accessed by the drive letters C:, D:, E:,
  344.     and F:.
  345.  
  346.     This system is rather confusing and dates back fifteen to twenty years.
  347.     SFS refers to these volumes by name rather than an arbitrary letter, so
  348.     that the volumes might be called "Encrypted data", "Personal
  349.     correspondence", or "Accounts receivable, March 1994".  Unfortunately once
  350.     SFS has set up the volume for DOS to access, it's back to the old F: to
  351.     identify your data.
  352.  
  353.   Password, key:
  354.  
  355.     The password or encryption key that is used to protect the data on an
  356.     encrypted volume.  Despite its name, a password can (and should) be more
  357.     than just a single word.  The SFS software will accept up to 100 characters
  358.     of password, so that perhaps the term "passphrase" would be more
  359.     appropriate.
  360.  
  361.     For maximum security, you should protect each volume with its own unique
  362.     password.  The SFS software takes the password for a volume, adds extra
  363.     keying information to it, and converts the result into an encryption key
  364.     which is used to encrypt and decrypt data on a given volume.  You should
  365.     take great care in how you choose your passwords and how you keep them
  366.     secret.  More details on this are given in the section "The Care and
  367.     Feeding of Passwords" below.
  368.  
  369.   Device driver:
  370.  
  371.     A device driver is a special piece of software which is used by the
  372.     operating system to access hardware which it wasn't designed to.  Unless
  373.     the device driver is loaded, the operating system generally won't recognise
  374.     that a piece of hardware even exists.  Even the computer's monitor,
  375.     keyboard, and disk drives are accessed through device drivers, although
  376.     their presence is hidden by the operating system.
  377.  
  378.     An example of a visible device driver is the one used to handle a mouse.
  379.     Networked disk drives may be accessed through a device driver[1].  RAM
  380.     disks are implemented as device drivers.  CDROM drives are handled via a
  381.     device driver.  Finally, encrypted SFS volumes are accessed through a
  382.     device driver.
  383.  
  384.   Mount point:
  385.  
  386.     Mount points are the locations provided by the SFS driver for mounting
  387.     encrypted volumes - in other words the number of encrypted volumes which
  388.     can be accessed by the driver at any one time.  By default the driver
  389.     provides one mount point, which means one encrypted volume can be accessed
  390.     through it at any given time.  The exact number of mount points can be
  391.     specified when the SFS driver is loaded.
  392.  
  393. Footnote [1]: Actually they use a specialised kind of driver called a network
  394.               redirector.
  395.  
  396.  
  397. Quick Start
  398. -----------
  399.  
  400. This section contains a condensed version of the next three sections and allows
  401. a quick start for SFS.  Although it is recommended that you read the full text,
  402. it should be possible to install and use a minimal SFS setup using only the
  403. quick-start information.
  404.  
  405. Initially, you need to load the SFS driver by adding an entry for it to your
  406. CONFIG.SYS file.  For example if the SFS.SYS driver was located in the DOS
  407. directory on drive C: the following line should be added to the CONFIG.SYS
  408. file:
  409.  
  410.   DEVICE=C:\DOS\SFS.SYS
  411.  
  412. Alternatively, you can use the DEVICEHIGH option to load the driver into high
  413. memory under those versions of DOS which support it.  After you have set the
  414. CONFIG.SYS entry for the SFS driver, you should reboot your system to make sure
  415. the driver is installed.
  416.  
  417. The use of the SFS driver is covered in more detail in the sections "Loading
  418. the SFS Driver" and "Advanced SFS Driver Options" below.
  419.  
  420. If you want to use SFS under Windows, you should copy the SFS assist program
  421. SFS.EXE into the Windows directory, copy the SFS dynamic link library SFS.DLL
  422. into the Windows\System directory, and edit the WIN.INI file to include SFS.EXE
  423. in the list of programs which are run when Windows is started up.  You can do
  424. this by adding it to the list of programs in the RUN= entry in WIN.INI:
  425.  
  426.   RUN=SFS.EXE
  427.  
  428. Although the SFS driver will function normally under Windows without this step
  429. being taken, the use of timed unmounts, smart card unmounts, and hotkey
  430. unmounts will be disabled unless SFS.EXE is also run.
  431.  
  432. You can create encrypted SFS volumes with the "mksfs" program, giving it the
  433. letter of the drive to encrypt and the name of the encrypted volume preceded by
  434. the "volume=" option as arguments.  For example to encrypt the E: drive to
  435. create a volume with the name "Encrypted volume", the command would be:
  436.  
  437.   mksfs "volume=Encrypted volume" e:
  438.  
  439. Note that that "volume=..." option is quoted, as the volume name contains a
  440. space.  Volume names without a space don't need to be quoted.
  441.  
  442. mksfs will ask you to confirm that the given drive is indeed the one to be
  443. encrypted, and then ask for an encryption password of between 10 and 100
  444. characters.  After asking for the password a second time to confirm it, it will
  445. encrypt the drive.  This will take a few minutes, and the program will display
  446. a progress bar as the encryption takes place.
  447.  
  448. There are a great many options and special safety checks built into mksfs to
  449. ensure that no data is accidentally destroyed, and it is recommended that you
  450. at least glance through the section "Creating an SFS Volume" to get an idea of
  451. the functioning of mksfs before it is run.
  452.  
  453. Once you have loaded the SFS driver and created an encrypted volume, you can
  454. mount it with the "mountsfs" utility.  Mounting a volume makes it available to
  455. DOS as a normal disk volume, with all encryption being done transparently by
  456. the SFS driver.  As with mksfs, you must tell mountsfs the name of the
  457. encrypted volume in order to access it.  The full name doesn't need to be used,
  458. mountsfs will accept any part of the name in upper or lower case.  Using the
  459. name from the previous example, the command to mount the volume would be:
  460.  
  461.   mountsfs volume=encrypt
  462.  
  463. mountsfs will match the partial name "encrypt" with the full volume name
  464. "Encrypted volume", ask for the encryption password for the volume, and mount
  465. it.  The volume will now be accessible as a normal DOS drive.
  466.  
  467. More details on the use of mountsfs are contained in the section "Mounting an
  468. SFS Volume" and "Unmounting an SFS Volume" below.  Other methods for mounting
  469. volumes are given in the section "Advanced SFS Driver Options" below.
  470.  
  471.  
  472. Loading the SFS Driver
  473. ----------------------
  474.  
  475. You can load the SFS device driver SFS.SYS or SFS486.SYS just like any other
  476. device driver by specifying it in the CONFIG.SYS file:
  477.  
  478.   DEVICE=[drive][path]SFS.SYS [SILENT] [UNITS=n] [NOXMS] [PROMPT=xxxx]
  479.                               [READONLY] [READWRITE] [FIXED] [REMOVABLE]
  480.                               [ECHO] [ACCESS=xxxx] [HOTKEY=xxxx] [TIMEOUT=nn]
  481.                               [MOUNT=nnnn]
  482.  
  483. You can also load it high under those versions of DOS which support this with:
  484.  
  485.   DEVICEHIGH=[drive][path]SFS.SYS [SILENT] [UNITS=n] [NOXMS] [PROMPT=xxxx]
  486.                                   [READONLY] [READWRITE] [FIXED] [REMOVABLE]
  487.                                   [ECHO] [ACCESS=xxxx] [HOTKEY=xxxx]
  488.                                   [TIMEOUT=nn] [MOUNT=nnnn]
  489.  
  490. The SFS486.SYS driver is loaded the same way.  This driver contains code for
  491. 80486 and higher processors, and is slightly smaller and a few percent faster
  492. than the equivalent 80386 version.
  493.  
  494. The arguments to SFS are not case-sensitive, and can be given in upper or lower
  495. case.  You can optionally precede them with a '/' for compatibilty with older
  496. types of software.  For example if your copy of the SFS.SYS driver was located
  497. in the DOS directory on drive C: you would add the following line to your
  498. CONFIG.SYS file:
  499.  
  500.   DEVICE=C:\DOS\SFS.SYS
  501.  
  502. The driver will only work on systems with an 80386 or higher processor.  This
  503. is because the en/decryption code (over 10,000 lines of assembly language) has
  504. to have a 32-bit processor to run on.  Virtually all recent PC's fulfil these
  505. requirements, and a 16-bit version would both be much slower and require about
  506. three times as much code space to run in[1].
  507.  
  508. If you try to load SFS.SYS on a machine which doesn't have a 32-bit CPU, the
  509. driver will display the message:
  510.  
  511.   Error: Processor must be 386 or higher
  512.  
  513. and de-install itself.
  514.  
  515. The driver currently recognises thirteen options, ACCESS, ECHO, FIXED, HOTKEY,
  516. MOUNT, NOXMS, PROMPT, READONLY, READWRITE, REMOVABLE, SILENT, TIMEOUT, and
  517. UNITS:
  518.  
  519.   The ACCESS option is used in conjunction with the MOUNT option to enable
  520.   various high-speed direct disk access modes in the SFS driver.  These can
  521.   significantly affect the overall performance of the driver, and are discussed
  522.   in more detail in the section "Advanced SFS Driver Options" below.
  523.  
  524.   The ECHO option is used in conjunction with the MOUNT option to echo the
  525.   password to the screen when asking for the password for the SFS volume to be
  526.   mounted, and is explained in more detail in the section "Advanced SFS Driver
  527.   Options" below.
  528.  
  529.   The FIXED option is used in conjunction with the MOUNT option to indicate
  530.   that a volume mounted at system startup is to be kept mounted until the
  531.   system is turned off or reset, as opposed to the normal behaviour of allowing
  532.   it to be unmounted at any point.  This is discussed in more detail in the
  533.   section "Advanced SFS Driver Options" below.
  534.  
  535.   The HOTKEY option is used to specify the quick-unmount hotkey which can be
  536.   used to instantly unmount all currently mounted SFS volumes, and is explained
  537.   in more detail in the sections "Mounting an SFS Volume" and "Advanced SFS
  538.   Driver Options" below.
  539.  
  540.   The MOUNT option is used to mount SFS volumes at system startup, and is
  541.   explained in more detail in the section "Advanced SFS Driver Options" below.
  542.   The older AUTOMOUNT form of this command is still supported by this version
  543.   of SFS, but will be discontinued in future versions.
  544.  
  545.   The NOXMS option is used to disable SFS buffering data in extended memory.
  546.   By default SFS will allocate a 64K write buffer to speed up disk writes.  If
  547.   no extended memory is available or if the NOXMS option is used, SFS will
  548.   print:
  549.  
  550.     Warning: No XMS buffers available, slow writes will be used
  551.  
  552.   The driver will then switch to using slow disk writes which are about half as
  553.   fast as normal reads and writes.  These are necessary to fix buffering
  554.   problems in MSDOS 6.x and some disk utilities.  If an extended memory buffer
  555.   is used, the slow writes aren't necessary.
  556.  
  557.   The PROMPT option is used in conjunction with the MOUNT option to display a
  558.   user-defined prompt when asking for the password for the SFS volume to be
  559.   mounted, and is explained in more detail in the section "Advanced SFS Driver
  560.   Options" below.
  561.  
  562.   The READONLY and READWRITE options are used in conjunction with the MOUNT
  563.   option to disable write access to the volumes being mounted.  The READONLY
  564.   option disables write access to all following mounted volumes; the READWRITE
  565.   option enables write access to all following mounted volumes.  The default
  566.   setting is to allow read and write access to all volumes.  More details on
  567.   read-only access to SFS volumes is given in the section "Mounting an SFS
  568.   Volume" below.
  569.  
  570.   The REMOVABLE option is used to undo the effects of the FIXED option which is
  571.   explained above.
  572.  
  573.   The SILENT option can be used to suppress the printing of the start-up
  574.   message.
  575.  
  576.   The TIMEOUT option is used to specify the time in minutes after which SFS
  577.   volumes are automatically unmounted if they haven't been accessed during that
  578.   time, and is explained in more detail in the sections "Mounting an SFS
  579.   Volume" and "Advanced SFS Driver Options" below.
  580.  
  581.   The UNITS=n option specifies the number of mount points (or number of disk
  582.   volumes) the driver will provide, where `n' is the number of units and can
  583.   range from 1 to 5.  Each drive mount point requires 384 bytes of extra memory
  584.   storage.  By default, the driver allocates storage for one mount point.
  585.  
  586. As an example, to suppress the printing of the start-up message and to specify
  587. that the driver should handle up to three encrypted volumes, you would change
  588. the previously given example for loading the driver to:
  589.  
  590.   DEVICE=C:\DOS\SFS.SYS SILENT UNITS=3
  591.  
  592. The number of mount points can range from 1 to 5.  If you specify a number
  593. outside this range, the driver will display the message:
  594.  
  595.   Error: Invalid number of units specified
  596.  
  597. and will de-install itself.  Finally, if you give an invalid option (such as a
  598. misspelled or badly-formatted parameter) SFS will again de-install itself after
  599. displaying:
  600.  
  601.   Error: Unknown parameter specified
  602.  
  603. All the remaining driver options are covered in the section "Advanced SFS
  604. Driver Options" below.
  605.  
  606. If the driver installs successfully, and unless the SILENT option is used, it
  607. will display a general message showing that it has been installed and then
  608. indicate which drive or drives will be used as the encrypted ones.  For example
  609. if the encrypted drive is made available as E:, the message indicating the
  610. drive availability would be:
  611.  
  612.   Encrypted volume will be mounted as drive E:
  613.  
  614. This indicates that once an encrypted volume is mounted, DOS will access it as
  615. drive E:  If you specify more than one mount point, the complete range of
  616. drives which will be made available is shown, so that if you used UNITS=3 when
  617. loading the driver the message would be:
  618.  
  619.   Encrypted volumes will be mounted as drives E: - G:
  620.  
  621. If a smart card reader is present, the driver will check for the presence of a
  622. card and set the LED on the reader to either green (to indicate that no card is
  623. present) or orange (to indicate that a card is present which is not currently
  624. in use by the reader).
  625.  
  626. When installed, the SFS driver consumes around 7.5K of memory, most of which is
  627. encryption code.
  628.  
  629. If you want to use SFS under Windows, you should copy the SFS assist program
  630. SFS.EXE into the Windows directory, copy the SFS dynamic link library SFS.DLL
  631. into the Windows\System directory, and edit the WIN.INI file to include SFS.EXE
  632. in the list of programs which are run when Windows is started up.  You can do
  633. this by adding it to the list of programs in the RUN= entry in WIN.INI:
  634.  
  635.   RUN=SFS.EXE
  636.  
  637. Although the SFS driver will function normally under Windows without this step
  638. being taken, the use of timed unmounts, smart card unmounts, and hotkey
  639. unmounts will be disabled unless SFS.EXE is also run.
  640.  
  641. Footnote [1]: There have been calls for 286 versions of SFS from countries in
  642.               which 386+ machines are still difficult to obtain.  There may
  643.               eventually be a 16-bit version, although at the current rate by
  644.               the time it's written everyone will be using Pentiums anyway.
  645.